DEFINITION MODULE MyMathTrans;
(*
  Created:   17.11.87
  Changed:   20.2.88/25.8.88 by
             Stefan Salewski
             Stolper Weg 3
             2160 Stade   West-Germany
             Tel: 04141/61130
             
  Note: compiled with AMIGA Modula-2 System by AMSoft from 5.5.88
   
  This Module may be freely copied. But please
  leave my name in. Thanks....Stefan  
*)

  FROM SYSTEM IMPORT FFP;
  (* errorNumber wird von den nachfolgenden Funktionsprozeduren genauso
     behandelt wie von MyMathLibLong, d.h. errorNumber wird bei Fehlern
     auf einen Wert # 0 gesetzt, nicht aber auf 0 gesetzt, wenn kein
     Fehler auftrat.
  *)

  CONST
    Pi     =3.1415927;
    PiHalbe=1.5707963;
    
  PROCEDURE NeutraleFunc(x:FFP):FFP; 
  PROCEDURE Abs(x:FFP):FFP;
  PROCEDURE Fac(x:FFP):FFP;     (* 51:fac(x) zu gross fuer x >= 20          *)
  PROCEDURE Sqr(x:FFP):FFP;     (* 52:sqr(x) zu gross fuer x > 1E9          *)
  PROCEDURE Power(x,y:FFP):FFP; 
  (* Raise x to the y th power*)(* 4:Neg.Zahl hoch gebr.Zahl ist undefiniert*)
  PROCEDURE SIN(x:FFP):FFP;     (*18:sin,cos und tan haben die Periode 2Pi  *)  
  PROCEDURE COS(x:FFP):FFP;     (*18:sin,cos und tan haben die Periode 2Pi  *)
  PROCEDURE Arctan(x:FFP):FFP;
  PROCEDURE SINH(x:FFP):FFP;
  PROCEDURE COSH(x:FFP):FFP;
  PROCEDURE TANH(x:FFP):FFP;
  PROCEDURE TAN(x:FFP):FFP;     (* 5:tan(n*(Pi/2) ist undefiniert           *)
  PROCEDURE Cot(x:FFP):FFP;     (* 6:cot(n*Pi ist undefiniert               *)
  PROCEDURE Sec(x:FFP):FFP;     (* 7:sec hat Pol bei x=n*Pi/2               *)
  PROCEDURE Cosec(x:FFP):FFP;   (* 8:cosec hat Pol bei x=n*Pi               *)
  PROCEDURE Arcsin(x:FFP):FFP;  (* 9:arcsin(x) undefiniert fuer |x|>0       *)
  PROCEDURE Arccos(x:FFP):FFP;  (* 10:arccos(x) undefiniert fuer |x|>0      *) 
  PROCEDURE Arccot(x:FFP):FFP;
  PROCEDURE EXP(x:FFP):FFP;     (* 53:exp(x) zu gross fuer x>=42            *)
  PROCEDURE Ln(x:FFP):FFP;      (* 12:ln(x) undefiniert fuer x<=0           *)
  PROCEDURE LOG(x:FFP):FFP;     (* 13:log(x) undefiniert fuer x<=0          *)
  PROCEDURE Coth(x:FFP):FFP;    (* 14:coth(x) undefiniert fuer x=0          *)
  PROCEDURE Arsinh(x:FFP):FFP;
  PROCEDURE Arcosh(x:FFP):FFP;  (* 15:arcosh(x) undefiniert fuer x>1        *)
  PROCEDURE Artanh(x:FFP):FFP;  (* 16:artanh(x) undefiniert fuer |x|>=1     *)
  PROCEDURE SQRT(x:FFP):FFP;    (* 17:sqrt(x) undefiniert fuer x<0          *)
  PROCEDURE Arcoth(x:FFP):FFP;  (* 19:Arcoth(x) undefiniert fuer |x|<1.0    *)
  PROCEDURE Int(x:FFP):FFP;     (* 20:Int(x) nur erlaubt fuer |x|<2147483648*)
END MyMathTrans.def
